System and method for manufacturing and control thereof

ABSTRACT

Embodiments for performing manufacture processes are disclosed. In one embodiment, a system includes a tool to be used in a manufacture process on a workpiece. The system includes a robot having an arm. The arm has an attachment point and is configured to move the tool, when attached to the attachment point, in multiple degrees of freedom during the manufacture process. A robot controller of the robot controls the movement of the arm based on motion parameters to perform the manufacture process via the tool. The system includes a power source having power electronics to generate electrical output power, based on electrical input parameters, provided to the tool during the manufacture process. A power source controller of the power source is configured to communicate with the robot controller, allowing a path planner component to generate the motion parameters used to perform the manufacture process while avoiding robot collision conflicts.

PRIORITY

The present application is a U.S. Divisional Patent Application of U.S.Non-provisional patent application Ser. No. 15/437,086, filed on Feb.20, 2017, which is incorporated herein by reference in its entirety, andwhich claims priority to U.S. Provisional Patent Application No.62/418,732, filed on Nov. 7, 2016, which is incorporated herein byreference in its entirety.

TECHNICAL FIELD

Devices, systems, and methods consistent with embodiments of the presentinvention relate to manufacturing (e.g., welding, additive, cutting),and more specifically to offline tools for controlling and codeimportation of manufacturing protocols.

BACKGROUND

The use of robotic systems and semi-robotic systems to manufacture,weld, and cut workpieces is well known and applications and usescontinue to grow. Advancements in such systems, for example additivemanufacturing, are occurring in both hardware and software. Typically,in such applications, a 3D model of a workpiece or part is imported intoa software application which converts the model into machine-readablecode (i.e., g-code). This g-code is then used by the robotic system tobuild, cut and/or weld the workpiece. However, this g-code is designedfor robots and/or systems that only have three (3) axes of freedom, andthere is little or no development on such systems for more complexrobots or systems using more than three (3) axes of freedom, up to andbeyond, six (6) axes of freedom systems. Thus, it is difficult incurrent systems to translate 3D g-code models for higher axis systems.

Further limitations and disadvantages of conventional, traditional, andproposed approaches will become apparent to one of skill in the art,through comparison of such approaches with embodiments of the presentinvention as set forth in the remainder of the present application withreference to the drawings.

BRIEF SUMMARY OF THE INVENTION

Exemplary embodiments of the present invention include systems andmethods to allow 3D computer models or parts and workpieces to be usedon higher axis systems, having four (4) or more degrees of freedom.

In one embodiment, a system is provided that includes a tool configuredto be used in a manufacture process on a workpiece. The manufactureprocess may be, for example, a welding process, an additivemanufacturing process, or a plasma cutting process. The system includesa robot having an arm with an attachment point. The arm is configured tomove the tool, when attached to the attachment point, in multipledegrees of freedom during the manufacture process. The robot alsoincludes a robot controller configured to control movement of the armbased on motion parameters to perform the manufacture process via thetool. The system includes a power source having power electronics. Thepower electronics are configured to generate electrical output power,based on electrical input parameters, which is provided to the toolduring the manufacture process. The power source also includes a powersource controller configured to receive the motion parameters from therobot controller and adjust the electrical input parameters based on themotion parameters to allow generation of adjusted electrical outputpower via the power electronics. In one embodiment, the power sourcecontroller is configured to adjust the motion parameters based on theelectrical input parameters to generate adjusted motion parameters andprovide the adjusted motion parameters to the robot controller. In oneembodiment, the power source controller is configured to adjust, basedon the motion parameters, a wire feed speed to generate an adjusted wirefeed speed of a consumable electrode used by the tool during themanufacture process. In one embodiment, the robot controller includes aprocessor and a non-transitory computer-readable medium storing a pathplanner component. The path planner component includes instructions thatwhen executed by the processor cause the robot controller to generatethe motion parameters used to perform the manufacture process whileavoiding robot collision conflicts. In another embodiment, the powersource controller includes the path planner component. The path plannercomponent includes a reach configuration component that includes datarelated to physical attributes, motion attributes, kinematics, andlimitations of the robot. The path planner component also includes acollision avoidance evaluator configured to, using the reachconfiguration component, determine if an anticipated robot path resultsin any robot collision conflicts. A user can modify the robot pathand/or the manufacture process to avoid the robot collision conflictswith the aid of the collision avoidance evaluator.

In one embodiment, a system is provided that includes a tool configuredto be used in a manufacture process on a workpiece. The manufactureprocess may be, for example, a welding process, an additivemanufacturing process, or a plasma cutting process. The system includesa robot having an arm with an attachment point. The arm is configured tomove the tool, when attached to the attachment point, in multipledegrees of freedom during the manufacture process. The robot alsoincludes a robot controller configured to control movement of the armbased on motion parameters to perform the manufacture process via thetool. The system includes a power source having power electronics. Thepower electronics are configured to generate electrical output power,based on electrical input parameters, which is provided to the toolduring the manufacture process. The power source also includes a powersource controller configured to receive the motion parameters from therobot controller and adjust the motion parameters based on theelectrical input parameters to generate adjusted motion parameters, andprovide the adjusted motion parameters to the robot controller. In oneembodiment, the power source controller is configured to adjust theelectrical input parameters based on the motion parameters to allowgeneration of adjusted electrical output power via the powerelectronics. In one embodiment, the power source controller isconfigured to adjust, based on the motion parameters, a wire feed speedto generate an adjusted wire feed speed of a consumable electrode usedby the tool during the manufacture process. In one embodiment, the robotcontroller includes a processor and a non-transitory computer-readablemedium storing a path planner component. The path planner componentincludes instructions that when executed by the processor cause therobot controller to generate the motion parameters used to perform themanufacture process while avoiding robot collision conflicts. In anotherembodiment, the power source controller includes the path plannercomponent. The path planner component includes a reach configurationcomponent that includes data related to physical attributes, motionattributes, kinematics, and limitations of the robot. The path plannercomponent also includes a collision avoidance evaluator configured to,using the reach configuration component, determine if an anticipatedrobot path results in any robot collision conflicts. A user can modifythe robot path and/or the manufacture process to avoid the robotcollision conflicts with the aid of the collision avoidance evaluator.

In one embodiment, a system is provided that includes a tool configuredto be used in a manufacture process on a workpiece. The manufactureprocess may be, for example, a welding process, an additivemanufacturing process, or a plasma cutting process. The system includesa robot having an arm with an attachment point. The arm is configured tomove the tool, when attached to the attachment point, in multipledegrees of freedom during the manufacture process. The robot alsoincludes a robot controller configured to control movement of the armbased on motion parameters to perform the manufacture process via thetool. The system includes a power source having power electronics. Thepower electronics are configured to generate electrical output power,based on electrical input parameters, which is provided to the toolduring the manufacture process. The power source also includes a powersource controller. The power source controller and the robot controllerare configured to communicate information between each other. At leastone of the robot controller or the power source controller includes aprocessor and a non-transitory computer-readable medium storing a pathplanner component. The path planner component includes instructions thatwhen executed by the processor cause at least one of the robotcontroller or the power source controller to generate the motionparameters used to perform the manufacture process while avoiding robotcollision conflicts. The path planner component includes a reachconfiguration component that includes data related to physicalattributes, motion attributes, kinematics, and limitations of the robot.The path planner component also includes a collision avoidance evaluatorconfigured to, using the reach configuration component, determine if ananticipated robot path results in any robot collision conflicts. A usercan modify the robot path and/or the manufacture process to avoid therobot collision conflicts with the aid of the collision avoidanceevaluator. The information communicated between the robot controller andthe power source controller may include, for example, robot motioninformation, a physical weld dimension/characteristic, a material type,a tool angle/orientation, a tool velocity error, a gap condition, atarget tool velocity, a motion/weave profile, and a thru-the-arctracking correction. In one embodiment, the robot controller and thepower source controller are configured to communicate the informationbetween each other to negotiate an acceptable combination of the robotmotion parameters for the robot and the electrical input parameters,which are used to generate the electrical output power, for the powersource which result in collision avoidance and quality welds,depositions, or cuts.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and/or other aspects will be more apparent by describing indetail exemplary embodiments of the invention with reference to theaccompanying drawings, in which:

FIG. 1 is a diagrammatical representation of a high degree of freedomrobotic system that can be used with embodiments of the presentinvention;

FIG. 2 is a diagrammatical representation of system construction andprocess flow of an exemplary embodiment of the present invention;

FIG. 3 is a diagrammatical representation of a visual representation ofa part model in accordance with an embodiment of the present invention;

FIG. 4 is a diagrammatical representation of another visualrepresentation of a part model in accordance with an embodiment of thepresent invention;

FIG. 5 is a diagrammatical representation of an additional visualrepresentation of a part model in accordance with an embodiment of thepresent invention;

FIGS. 6A and 6B are diagrammatical representations of a layerconstruction of embodiments of the present invention;

FIG. 7 is a diagrammatical representation of a further visualrepresentation of a part model in accordance with an embodiment of thepresent invention;

FIG. 8 is a diagrammatical representation of an additional systemconstruction and process flow of an exemplary embodiment of the presentinvention; and

FIG. 9 is a diagrammatical representation of a further exemplaryembodiment of a system of the present invention.

DETAILED DESCRIPTION

Reference will now be made in detail to various and alternativeexemplary embodiments and to the accompanying drawings, with likenumerals representing substantially identical structural elements. Eachexample is provided by way of explanation, and not as a limitation. Infact, it will be apparent to those skilled in the art that modificationsand variations can be made without departing from the scope or spirit ofthe disclosure and claims. For instance, features illustrated ordescribed as part of one embodiment may be used on another embodiment toyield a still further embodiment. Thus, it is intended that the presentdisclosure includes modifications and variations as come within thescope of the appended claims and their equivalents.

The present disclosure is generally directed to systems and methods ofeasily allowing higher degrees of freedom manufacturing systems androbots to easily be used for manufacturing complex components and allowfor the efficient conversion of a 3D computer model to g-code for higherdegrees of freedom systems.

Turning now to FIG. 1, which shows an exemplary 6 degree of freedomrobotic system 100. Such systems are generally known and as such theirdetailed operation and construction need not be described herein.Further, exemplary embodiments of the present invention are not limitedby the specific system type or configuration used. The system 100includes a computer controller 110 which controls the overall operationof the system. The controller 110 can include memory, a user interface,display, a CPU and other components needed to control the system 100 andthe motion of the robotic arm assembly. In some systems a hydraulic unit120 is used to control hydraulic pressure used to drive the robotic armassembly 130. The robotic arm assembly 130 can be made up of a number ofdifferent components which allows the tool attachment point 137 to bemoved with 6 degrees of freedom. For example, the assembly 130 can havea stand 131, a pivot component for arm sweep 132, a shoulder 133, anelbow 134, an arm 135, a 3-axis tool joint 136 (which allows for yaw,pitch and roll of a tool), and a tool attachment point 137, to which anydesired tool can be secured. Of course, the embodiment of the roboticassembly 130 shown in FIG. 1 is exemplary and other embodiments of thepresent invention can use any different configurations or constructionsso long as the robotic system has four (4) or more degrees of freedomfor motion of a tool attached to the tool attachment point 137. The toolcan be a plasma cutter, welding device, machining tool, additivemanufacturing tool, etc.

It is noted that while embodiments of the present invention haveapplications in many different manufacturing processes, for purposes ofefficiency the following discussion will focus on the process ofadditive manufacturing. As indicated above, additive manufacturing isonly one exemplary embodiment and, therefore, this discussion is notintended to be limiting. As described above, when using a system 100such as that shown in FIG. 1, a 3-D model of a component to bemanufactured is designed using a 3-D construction program, such as CAD,etc. Once this process is done, the 3-D computer model must betranslated to a language (e.g., computer code) that is usable for arobotic system to manufacture the component/part, etc. When using a3-axis system or less, this translation is relatively simple—such asconversion for CNC machines, and the like. However, when the componentis to be constructed/manufactured using a system having four (4) to six(6) axes of freedom, the 3-D computer models cannot be readilytranslated or utilized. Systems utilizing more than six (6) axes presentan even bigger challenge. Thus, significant coding and work may be doneto create machine readable code (e.g., g-code) for these higher degreeof freedom systems. Embodiments of the present invention resolve this byusing a g-code module to convert the 3-D image files to machine readableg-code for higher axis of freedom machines and systems. This isdescribed more fully below.

Turning now to FIG. 2, a flow diagram of a representative exemplaryembodiment of the present invention is depicted. The flow 200 depictedrepresents an exemplary process flow implementing embodiments, methodsand systems of the present invention, but is not intended to belimiting. The exemplary process begins with the creation of a 3-D model210 using a known 3-D modeling program, such as CAD. This 3-D model canthen be supplied to an additive manufacturing (or whatever process beingused) slicing software tool for generating g-code for a 3-axis roboticsystem. These software tools are generally known and need not bedescribed in detail herein. However, as explained previously, theseslicing tools are incapable of generating g-code for systems having four(4) or more degrees of freedom. Therefore, in exemplary embodiments ofthe present invention the output of the 3-axis slicing tool 220 isprovided to an additive g-code application 230 which takes the 3-axisg-code and converts it to g-code to be used with robotic systemscontaining three (3) or more axes. The g-code application 230 can be anyknown g-code application. This application 230 can be run on the systemcontroller 110 (see FIG. 1) or any PC, controller, or other computerdevice capable of performing the functions and tasks described herein.In some exemplary embodiments a subtractive manufacturing software tool250 can be used to provide inputs into the g-code application 230. Thesubtractive manufacturing tool 250 can be used to provide machininginstructions after the manufacture of a component. Using the informationprovided, the g-code application 230 generates and outputs a g-code thatis provided to the control program 201 of the robotic system that isused. Within, or coupled to, the control program 201 is a processcontrol toolkit 231 that receives the g-code from the application 230.It is noted that while the term “g-code” is used, embodiments of thepresent invention are not limited to the use of g-code, as otheralternative coding languages can be used without departing from thespirit or scope of the present invention.

In the toolkit 231, the g-code is interpreted by an interpreter 232 andprovided to a print visualization component 233 which allows for theoriginal 3D image of the part to be made to be viewed/modeled in 2D viaa user screen (not shown). The component can be modeled/shown in variousways. In the exemplary embodiments, shown in FIGS. 3 through 5, the partto be made 300 is shown in a layered format being visually comprised ofa plurality of layers or individual modules. These layers or modulesrepresent construction passes or blocks of the robot 310 used to makethe part 300. In some exemplary embodiments the layers are constructedacross the entire cross-section of the part 300 to be made, while inother embodiments the layers or sections of the part to be made are onlya portion of the cross-section of the part to be made at any givenheight above the substrate. This is depicted simply in FIG. 6A. Inexemplary embodiments, the construction of the model 300 can be in anynumber and configuration of subcomponents (e.g., layers) as desired.Using this visualization of the model 300, a user can edit, via a layereditor 234, the manufacturing process (e.g., the order of creation ofthe layers/components as needed).

As shown in FIGS. 3 through 5, the print visualization component 233 candepict the 2D model in various formats, such as using colordifferentiation to show various aspects of the model 300. For example,in an exemplary embodiment, the component/model 300 can be depicted in afirst color 300 (e.g., blue) which shows the entire completed component300, or at least some component/portion of the component 300. Thecomponent 300 can be depicted as a wire frame model, for example.

A layer editor 234 can receive the information from the printvisualization component which can allow a user to specifically viewand/or change the order of the construction of the model to accommodatetooling needs. This will be discussed further below.

The toolkit 231 also has a robot and external axes reach configurator235 which contains information regarding the physical and motionattributes and limitations of the robot 310 to be used to manufacturethe component to be built. This information is used by the toolkit 231to determine whether or not the component/part can be built by the robot300 without interference or without going beyond its physical/movementcapabilities. That is, this information is combined with the informationrelated to the component to be built to determine if the robot 300 canmanufacture the part without tool/robot interference. The output of thisanalysis is provided to a print simulator 236, which simulates themanufacture of the part/component 300 using the information related tothe model 300 and from the robot and external axes reach configurator235. In an exemplary embodiment, the print simulator 236 can visuallydepict the construction of the model/component 300—showing the movementof the robot 310 as it completes the entire model 300. In otherembodiments, the user interface of the controller 110 (or other userinterface) allows a user to select specific portions or layers of themodel 300 to focus on the modeled construction/creation of thoselayers/sections. After a specific portion of the model 300 is selectedthe print simulator 236 will model/show the construction of the selectedlayers/section. In some exemplary embodiments, the actual movement ofthe robot 310 will be depicted, while in others the movement of therobot and/or the tool is not shown.

In exemplary embodiments, the print simulator 236 can use differentvisual indicators (e.g., colors) to depict different areas of the model300 based on its buildability. For example, as explained above, themodel 300 is depicted in a first color to show the overall constructionof the part to be made. A second color (e.g., green) is used to show theportions of the model 300 (or portion thereof) that can be constructedwith the robot system. That is, the second color (second visualindicator) shows the user (via a monitor or user interface) that theindicated portion can be made without an issue. This is depicted in eachof FIGS. 3 through 5 as “Region 2”. Further, as regions are shown with asecond visual indicator that can be made, the toolkit 231 also visuallydepicts regions of the model 300 that cannot be made using a thirdvisual indicator. For example, the system can depict regions or portionsof the model 300 that cannot be made by the robot system with a thirdcolor (e.g., red). This is depicted in FIG. 5 as “Region 3”. Thus, auser could determine—visually before an actual manufacturing process isperformed—the manufacturability of the part. For regions that are shownas being incapable of manufacture—for example, due to limitation of therobot, the tool, etc., the layer editor 234 allows a user to change theorder of layers or portions of the component to be manufactured toprovide an order that allows the part to be made without issue. That is,after the layer editor 234 is used, the order at which the portions orlayers of the part to be made can be changed to provide an order ofconstruction to allow the part to be completely made by the robotwithout interference. This is generally shown in FIGS. 6A and 6B.

As shown in FIG. 6A, a part 300 is to be made using a robotic system,for example, using additive manufacturing. Using the 3D model data, avisual rendering of the part 300 is shown where each layer of the party300 has four (4) subcomponents, for a total of thirty-two (32)subcomponents. FIG. 6A depicts the order with which these subcomponentsare constructed after the initial print visualization and printsimulator. However, because the print simulator 236 rendered some of thesubcomponents in such a way as to indicate that they cannot be made bythe robot (e.g., showed them in red) the user uses the layer editor 234to adjust the order of creation of the subcomponents. This adjustment isreflected in exemplary FIG. 6B. As shown in this figure, the order ofconstruction has been changed such that the subcomponents for steps 7-12have been changed. For example, the additive manufacturing process thatoriginally was intended to be deposited after step 6 (i.e., step 7) hasnow been moved to be added on top of the step 5 process, instead of ontop of the step 3 process. Similarly, the original steps 23 to 30 havebeen changed. To be clear, these changes do not result in changing thephysical properties and dimensions of the part 300 to be made, butrather change the order of construction of the part to ensure it can bemade by the high axis robotic system. Thus, the toolkit 231 allows auser to have a visual rendering of the construction of the part on therobotic system, and to modify the construction order of the part toensure the part can be created. The user can continually use the layereditor 234 to change the order/process as needed.

Upon completion of the process, manipulation the output from the printsimulator 236 is provided to an RG-code generator 237 which generatedthe g-code for the high axis robotic system to be used for construction.Of course, other code formats besides g-code can be used, and woulddepend on the robotic system being used. The newly developed RG-code isthen supplied to the robotic system controller 240, where it isinterpreted 241 and the process is implemented 242.

In other exemplary embodiments of the present invention, the user caninsert or add other manufacturing process steps, such as materialremoval as needed during the process. For example, it may be the casethat no change in the order or process of part construction alleviates atool blockage scenario. Therefore, it may be necessary to add adifferent processing step, such as material removal, prior to continuingconstruction of the part. This can be done via the layer editor 234where a user can add a material removal (or other) processing step toremove some material, prior to continuing the manufacturing process.

Similarly, a user can add a tool change step using the layer editor 234.For example, it may be desirable to use a first tool for a part of themanufacturing of the part because it has a high deposition rate.However, this first tool may have physical sizes/limitations thatprevent it from being usable at certain points during fabrication.Therefore, the layer editor 234 allows a user to add a tool change (forexample to a smaller tool) to complete certain portions of themanufacture. While the second tool may have a smaller deposition rate(for example), it can have smaller dimensions allowing it to be usedwithout creating an interference or construction issue. Further, in someexemplary embodiments, the print simulator 236 can render the visualmodel and suggest a tool change using a visual indicator. For example, aportion of the image can be rendered with a 4th color (such as orange,etc.) to indicate that a tool change may be needed to completemanufacturing. In some of such embodiments, the user can insert the toolchange command or choose instead to change the order ofmanufacture/build-up in an effort to eliminate the need for a toolchange.

In further exemplary embodiments, the toolkit 231 has (or has access to)service information for each of the tools that can be used with therobot system including information related to service or tool cleanrequirements. With this information, the print simulator 236 can renderthe model to be constructed and show the need or recommendation for atool clean operation during manufacture. For example, the toolkit 231can determine that the part to be constructed requires 500 cm³ ofmaterial. However, the tool selected must be cleaned/replaced/checkedafter deposition of 300 cm³ of material. In such a case, the printsimulator 236 can provide a visual indication of the need of a toolclean/check operation. This visual indication can be provided in anynumber of ways including using another color indication (e.g., gray,black, etc.) or any other method of visually indicating the need for atool clean/check. Further, in exemplary embodiments, the toolkit 231 canhave access to tool service information such that the overall systemkeeps track of the total usage of the tools available to the roboticsystem such that, even though the duration between tool cleans/checks istypically longer than what is needed for a give part, that duration maybe reached during the construction of any one part. For example, if agiven tool clean/check point is to be every 5,000 cm³ of materialdeposited and the part being made is only 500 cm³, because of prior useof the tool, that tool check may be needed during the creation of anygiven part. Thus, at that time the user can choose to clean/check thetool prior to beginning the manufacture process and thus clear theindication so that no check/clean is needed during construction.

It is noted that while the example above focused on volume of materialbeing deposited, the system can also use other parameters, such as runtime, energy usage, linear deposition distances, etc., or anycombination thereof.

In additional exemplary embodiments, the layer editor 234 can allow auser to delete or remove layers or portions of the part to bemanufactured. For example, it may be desirable to confirm themanufacturability of only a portion of the part to be made. Therefore, auser can delete portions or layers of the model to be constructed sothat only a partial part can be made.

In additional exemplary embodiments, the layer editor also allows a userto manipulate or change the location and/or orientation of themanufacturing/process paths. This is generally shown in FIG. 7, wherethe model 300 can be moved and/or rotated as needed to select a positionand orientation of construction of the part to be made. That is, in someinstances, the orientation/starting point of the part may need to bechanged to facilitate part construction. Thus, the user can use thelayer editor 234 to change the positioning and/or orientation of thepart which may eliminate any part manufacturing warning indicatorswithout having to change an order of layer construction.

The changes and edits to the process described above can be done via anyknown user interface and GUI type systems (e.g., a computer display anda mouse/keyboard combination) coupled to the system controller.Furthermore, the above can be done “off-line” on a computer systemhaving the above described toolkit, which then creates an RG-code filethat can be delivered, via any known methodology, to the robot systemcontroller.

Therefore, the embodiments described above can determine theconstructability of a part or a portion of a part using the physicalattributes of the part, the physical capabilities and limitations of therobot system, and the limitations of the tool on the robot to determinethe manufacturability of the part, or portions thereof. This cansignificantly optimize manufacturing processes using high degree offreedom robotic systems.

In further exemplary embodiments, additional robotic axes can beutilized and incorporated in the embodiments described above to allowfor the additive printing in multiple planes and/or directions. Forexample, embodiments of the present invention can be utilized andincorporated into robotic systems having capabilities in more than six(6) degrees of freedom.

Further, in additional embodiments, a path planner can be utilized toaid the user and make the process more efficient. For example, the pathplanner can aid in minimizing or eliminating a user's effort in time inthe robot and external axes reach configurator 235. An exemplaryembodiment of this is shown in FIG. 8. FIG. 8 depicts an implementationsimilar to that shown in FIG. 2, and like items and components are shownwith the same numerical identification. However, as shown in thisembodiment, downstream of the layer editor 234 is an optional pathplanner 810 that can be used by a user if needed. The path planner 810comprises a collision avoidance evaluator 801 and an automatic pathplanning & robot/external axes reach configuration portion 803. In oneembodiment, the path planner 810 utilizes each of these components toautomate and reduce manual intervention in robot and external axes reachconfigurator 235. In one embodiment, the path planner 810 utilizes eachof these components to allow a user to determine if the anticipatedrobot path for manufacture results in any robot collision situations andallows the user to modify and/or adjust the path or manufacture processto avoid the identified collision issues. Further, with theconfiguration portion 803, the system 200 can automatically modify orrecommend modifications to avoid any identified collision or conflictpoints during the manufacture process. This will aid the user inreducing time or eliminating altogether the time spent in the layereditor 234 and the print simulator 236, for example. Following the useof the planner 810 the output of the planner is passed to the printsimulator 236 and the process can proceed as described above.

With the use of the planner 810 as described above, roboticimplementations using multiple robotic arms can be easily utilized. Forexample, rather than a single robotic arm (as shown in FIG. 1) two ormore robotic systems/arms are used to manufacture a single item, ormultiple items on a single substrate. In such applications each separaterobotic system can be depositing a different material, if a compositeconstruction is needed. In such systems collision avoidance can becomeextremely complex, and thus embodiments described herein make thiseasier to accomplish. That is, in such embodiments the planner 810 canbe provided with all physical and movement information/capabilities ofall the robotic systems involved, and a user can utilize the informationin the planner to ensure that no collision conflict exists between therobotic systems. Moreover, the planner 810 provides the user with toolsto easily identify collision/conflict areas, can provide recommendedsolutions based on its stored information, and allow a user to easilymodify robot paths and the order/timing of material deposition tooptimize robot paths. In fact, embodiments of the present invention canallow multiple, high axis robots to work simultaneously on a singlepoint.

Embodiments of the present invention will allow for significantly moremanufacturing flexibility with minimal effort and potential interferenceconflict. For example, embodiments can utilize high axis systems tomanipulate the angle of print/deposit to achieve overhangs, etc. withouthaving the need to use material removal efforts post manufacturing, andas part of a single process that does not require repositioning of thepart for a second pass of the system. Further, embodiments can providethe robotic system with the ability to weave the robot motion to achievevarying material deposition at different points, or otherwise change thebead profiles at different locations on the part.

Moreover, embodiments of the present invention can monitor and processfeedback control during various manufacture processes to achieveconsistency in material deposition rate, material properties, qualityand geometrical accuracy of a finished part. Moreover, the system 200can utilize this feedback information during a given manufacturingprocess to “learn” about performance limitations or ability limitationsof the robotic system. For example, during the manufacture of a firstpart or component, the system can monitor the feedback of the depositionprocess and correlate that feedback with the robot parameters such asspeed, orientation, current, voltage, wire feed speed, arm configurationetc. Using that information, the system can determine that certainconfigurations have performance limitations based on the robotic systemused. For example, the system can determine that a configuration usingmotion exceeding a certain rate when the printing head is upside downhas performance limitations leading to quality issues. Therefore, when asecond part is to be manufactured using a similar robotic pass withsimilar parameters, the system can warn the user that this proposed pathwith these proposed properties can present quality issues. This willallow the user to modify the path/process as described herein to avoidthe quality compromising parameters. Moreover, in some embodiments thesystem could lock out certain combinations of parameters to ensure thatthey do not occur, and thus the planner 810 could be used to plan aroundthese configurations.

Embodiments of the present invention can also be utilized to interweavemultiple print passes within a single workzone to optimize efficiencywhile waiting between print layers for cool down. It is generally knownthat, in certain deposition techniques, cool down may be needed to avoidcompromising the part being manufactured. The system disclosed hereincan determine when, during the process, those cooldown periods areneeded based on the manufacturing and process data input. That is, indetermining how to the manufacture the part (as described herein), thesystem can also determine when a cooldown in a certain area is needed.The system can then direct the process to deposit at a differentarea/region of the same component to continue the manufacturing processwhile the other region cools down. For example, the system describedherein can use the process information (e.g., current, speed, power,part geometry, etc.) to evaluate heat input into a specific region ofdeposit and identify those regions during the use of the toolkit 231 toallow a user to adjust the process to avoid overheat situations.Moreover, in some embodiments, once the system determines that a totalheat input into a region of the part exceeds an acceptable threshold,the system automatically identifies a second region of the part tomanufacture while the first region reaches a temperature at which it isacceptable to return and continue deposition. That is, the system canautomatically plan a manufacture path/order that takes into account heatinput and a desired temperature control process during manufacture. Ofcourse, in those situations where a second safe temperature region doesnot exist (for example if the part is too small), the system willautomatically wait for a determined period of time before the processbegins again. That is, the system can determine, based on the overallheat input into a volume/region, a desired cooldown period beforedeposition can reoccur in that region.

FIG. 9 depicts another exemplary embodiment of the present invention. Itis generally known that in existing systems the welding/depositionprocess is controlled by specifying the traditional weldingparameters/variables, such as voltage, current, power, mode, and/orschedule, as well as others. However, in a complex additivemanufacturing application these variables represent a small number ofthe total variables that should be taken into account to achieve aweld/deposit with certain physical dimensions, characteristics, andqualities. Other parameters that are to be considered, or that canaffect the end product, include robot motion profiles, thru-the-arctracking/feedback configurations, and customer part specifications, suchas material types, gap conditions, torch angles, etc.

In existing systems, a programmer/developer usually has significantexperience and intimate knowledge of the multiple ways these factorsinteract in order to generate a robot program that achieves a desiredresult. This is highly inefficient and is subject to considerableopportunity for defect and error. In the embodiment shown in FIG. 9, thesystem employs a power supply (a.k.a., a power source) 910 which isconfigured and constructed similar to known welding power supplies(e.g., having power electronics 919 configured to generate electricaloutput power based on electrical input parameters). However, the powersupply 910 in the system 900 also accepts additional input parametersbeyond the traditionally known inputs (current, etc.) and uses thisadditional information to aid in controlling its output to achieve adesired finished product.

For example, in one embodiment of the preset invention, the power supply910 accepts information about the weld geometry (or more generally, themanufacture geometry) itself, including material properties, torchangles to be used during the manufacture at different points, weldgeometry and weld physical characteristics, among others. The controlsystem 917 of the power supply 910 (which can be any knowncontroller/computer type capable of performing as described herein)would recognize, interpret and utilize this additional information toprovide motion information (motion parameters) to the robot motionplatform 920. This is not traditionally done as known systems do notreceive motion information from the power supply.

Additionally, the power supply would accept, interpret, and use motioninformation from the robot motion platform 920 and use that informationto control its output to achieve the desired physical properties of thepart. This information from the robot, such as robot movement/position,would be used by the power supply to adapt its output (electrical outputpower) as the motion is occurring. For example, the robot would sendmotion data to the power supply to reflect the depositionangle/orientation (for example, deposition could be upside down), thepower supply utilizes this motion data from the robot, couples that datawith the parameters it has received for the part to be manufactured, andadapts (adjusts) its output as the motion is occurring to achieve thedesired result.

For example, the power supply may determine that to maintain a constantthickness of a portion of a part during manufacture, where the robot ismoved from a print down to a print up orientation (for example to avoidcollision), the power supply will automatically change its power output,wire feed speed, peak current levels, and even output current waveform(as examples) as the robot transitions in print orientation to maintaina constant bead thickness, etc. Thus, rather than a user having to inputparameter changes for each aspect of the process, the power supply,using lookup table, deposition algorithms, etc. and its input data anddata from the robot can automatically change its output to achieve adesired physical result in the deposition.

This is done because the power supply 910 has input informationregarding the end result of the part, such as desired weld geometry,etc. That is, the power supply 910 would model the complex relationshipsof all, or at least some, of the many variables discussed above based onits programming to ensure a desired physical result is achieved. Thepower supply can include a feedback system/circuit 915 such as athrough-the-arc circuit to track parameters during deposition. Further,the power source 910 would accept feedback from the robot motionplatform 920 that can include, physical weld dimensions/characteristics,material type, weld torch angles/orientation, torch velocity error, gapconditions, etc.

Thus, in exemplary embodiments, the only information needed from theuser (or robot programmer embodiments described above) for the powersupply would be physical weld dimensions/characteristics (e.g., size,type, etc.), material properties, and the robot motion path. With thisinformation, the power source would output information that is relatedto the robot motion platform (motion parameters), including target torchvelocity, weave profiles, and other robot specific parameters, while atthe same time controlling its own welding output current waveform, wirefeed speed, etc. to achieve the desired deposit. Thru-the-arc trackingcorrections can be corrections needed to the robot motion control basedon detected feedback from the process. For example, the system canmonitor voltage, current, power etc. thru-the-arc and determine thatmotion, velocity, path corrections needed to be made by the robot, inaddition to possible changes in the power supplies output to achieve thedesired construction.

This is generally shown in FIG. 9, where the manufacturing requirementsof material type, torch angles/path and weld characteristics (i.e., thepart requirements) are provided to the power supply 910. In someembodiments, at least some of this information is also provided to therobot system 920. Using this information, the power supply 910 providesa torch velocity target, motion/weave profile, and any thru-the-arctracking corrections to the robot system 920, as well as modifying itsown output/wire feed speed for the process. During the process, therobot system 920 also provides at least gap conditions/feedback(detected by a gap sensor 925, for example), any torch velocityerror/feedback, and other robot specific parameters to the power supply910, which again uses this information to control the robot and modifyits output.

In exemplary embodiments, the power supply 910 can house/include thetoolkit 231 described above and/or the entirety of the system/process200 described above. Of course, the power supply 910 comprises acomputer/controller and user input components that allow forimplementation of the above described embodiments. Thecomputer/controller can use stored data, look up tables, performancealgorithms, etc. to determine the appropriate controls and output toachieve the desired part fabrication.

In accordance with one embodiment, a robot controller (e.g., 110 or 240)and a power source controller (e.g. 917) communicate information betweeneach other to negotiate an acceptable combination of robot motionparameters for the robot and electrical input parameters (which are usedto generate electrical output power) for the power source which resultin collision avoidance and quality welds, depositions, or cuts. Forexample, robot motion parameters and power source electrical inputparameters may be negotiated which trade off some weld quality over aportion of a weld (while still providing an acceptable weld quality) inorder to avoid a collision. As another example, robot motion parametersand power source electrical input parameters may be negotiated toprovide an alternative path for the robot (which still avoids collisionsbut may add some time to the weld process) in order to maintain ahighest level of weld quality. In one embodiment, various tables andalgorithms are developed which allow an acceptable combination to benegotiated and which are programmed into the robot controller and thepower source controller.

While the claimed subject matter of the present application has beendescribed with reference to certain embodiments, it will be understoodby those skilled in the art that various changes may be made andequivalents may be substituted without departing from the scope of theclaimed subject matter. In addition, many modifications may be made toadapt a particular situation or material to the teachings of the claimedsubject matter without departing from its scope. Therefore, it isintended that the claimed subject matter not be limited to theparticular embodiment disclosed, but that the claimed subject matterwill include all embodiments falling within the scope of the appendedclaims.

What is claimed is:
 1. A system, comprising: a tool configured to be used in a manufacture process on a workpiece; a robot including: an arm having an attachment point, the arm configured to move the tool, when attached to the attachment point, in multiple degrees of freedom during the manufacture process, and a robot controller configured to control movement of the arm based on motion parameters to perform the manufacture process via the tool; and a power source including: power electronics configured to generate electrical output power, based on electrical input parameters, wherein the electrical output power is provided to the tool during the manufacture process, and a power source controller, wherein the power source controller and the robot controller are configured to communicate information between each other and negotiate a combination of the motion parameters for the robot and the electrical input parameters for the power source, wherein at least one of the robot controller or the power source controller includes at least one processor and a non-transitory computer-readable medium storing a path planner component including instructions that when executed by the at least one processor cause at least one of the robot controller or the power source controller to generate the motion parameters used to perform the manufacture process while avoiding robot collision conflicts.
 2. The system of claim 1, wherein the manufacture process includes a welding process.
 3. The system of claim 1, wherein the manufacture process includes an additive manufacturing process.
 4. The system of claim 1, wherein the manufacture process includes a cutting process.
 5. The system of claim 1, wherein the information communicated between the robot controller and the power source controller includes robot motion information.
 6. The system of claim 1, wherein the information communicated between the robot controller and the power source controller includes a physical weld dimension/characteristic.
 7. The system of claim 1, wherein the information communicated between the robot controller and the power source controller includes a material type.
 8. The system of claim 1, wherein the information communicated between the robot controller and the power source controller includes at least one of a tool angle/orientation, a tool velocity error, or a target tool velocity.
 9. The system of claim 1, wherein the information communicated between the robot controller and the power source controller includes a gap condition.
 10. The system of claim 1, wherein the information communicated between the robot controller and the power source controller includes a motion/weave profile.
 11. The system of claim 1, wherein the information communicated between the robot controller and the power source controller includes a thru-the-arc tracking correction.
 12. The system of claim 1, wherein the robot controller and the power source controller are configured to communicate the information between each other to negotiate the combination of the motion parameters for the robot and the electrical input parameters for the power source which result in collision avoidance and welds via the tool as part of the manufacture process on the workpiece.
 13. The system of claim 1, wherein the robot controller and the power source controller are configured to communicate the information between each other to negotiate the combination of the motion parameters for the robot and the electrical input parameters for the power source which result in collision avoidance and depositions via the tool as part of the manufacture process on the workpiece.
 14. The system of claim 1, wherein the robot controller and the power source controller are configured to communicate the information between each other to negotiate the combination of the motion parameters for the robot and the electrical input parameters for the power source which result in collision avoidance and cuts via the tool as part of the manufacture process on the workpiece.
 15. The system of claim 1, wherein the path planner component includes a reach configuration component including data related to physical attributes, motion attributes, kinematics, and limitations of the robot.
 16. The system of claim 15, wherein the path planner component includes a collision avoidance evaluator configured to, using the reach configuration component, determine if an anticipated robot path results in any robot collision conflicts and allow a user to modify at least one of the robot path or the manufacture process to avoid the robot collision conflicts. 